home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 23 / AACD 23.iso / AACD / Resources / System / PPCUpdates / releasenotes.txt < prev   
Text File  |  2000-03-02  |  32KB  |  1,004 lines

  1. Attention:
  2.  
  3. Open: 
  4.  
  5. loadresource gets unstable with the ppc.library. I suppose it`s caused
  6. by some weird loadseg patches loadresource does. IMHO there`s no real
  7. sense for loadresource. Use openlib instead.
  8. Make the fpu usage detection more smarter...maybe skipping a fpu precision
  9. init, so the fpu isn`t always used because some fpu c.o startup thought it`s
  10. necessary.
  11.  
  12.  
  13. Attention:
  14.  
  15.  o Newer GCCs(expecially 2.95.2) use the fpu to optimize memory operations
  16.    and that may cause an alignment exception.
  17.    ALWAYS use -mstrict-align when you use the compiler.
  18.  
  19.  o Be careful with PPCCreateTask on the PPC side and using
  20.    not reentrant link lib functions from the parent task.
  21.  
  22. History:
  23.  
  24. C++ proto support
  25.  
  26. - 46.31
  27.   o Copyright changed
  28.  
  29. - 46.30
  30.   o 64bit signed div/mod math fix...
  31.   o fixed some signal/timerobject problem
  32.   o compiled with gcc2.95.2
  33.   o PPC side`s PPCINFOTAG_CPUPLL now delivers the same as the 68k side.
  34.     The PLL id should have always been the 0..16 and not shifted >28(original hid1)
  35.   o unreliable return value in some internal elf loader function...probably caused
  36.     no havoc
  37.  
  38. - 46.29
  39.   o Change in the clock heuristics...hopefully it fixes the 175Mhz->350Mhz
  40.     output for Blizzards.
  41.  
  42. - 46.28
  43.   o PPCINFOTAG_CPU fixed on the PPC side
  44.   o PPCINFOTAG_CPUREV fixed on the PPC side
  45.   o Fixed some remaining autodoc problems
  46.  
  47. - 46.27
  48.   o DIFFMICRO fixed...broken(Rask)
  49.   o PPCTimer examples were ""broken"" since the egcs recompiled release.
  50.     I forgot to recompile ppctimer to adapt to the new va_list macros.
  51.     64bit long longs are aligned...i don`t really know if it was smart
  52.     to change that by the egcs team.
  53.   o PPCFindTask() caused an illegal address hit if there was no current task
  54.     running on the ppc side.(Could only happen if called from the 68k side)
  55.   o KernelModule gpr12,fp9-fp13 could be trashed by legal sysv abi subfunctions.
  56.   o A lot autodocs fixes(Rafal Sanda)
  57.  
  58. - 46.26
  59.   o wrong clock calculations for cyberstormppc used in 1200 towers.
  60.     caused by wrong 1200 cia timings. the cias seem to be connected
  61.     in the 1200 with 2x the documented clock.
  62.     I checked for the blizzard ppc hw to avoid the problem and didn`t
  63.     thought about cyberstormppc 1200 users.
  64.  
  65. - 46.25
  66.   o Kernel String "powerup:src/ppclib/PPCKernel.elf" changed to "PPCKernel.elf"
  67.     as a path string wasn`t necessary anymore. (Somebody doesn`t like it:-)
  68.   o FindTaskObject() bug..weird
  69.   o Changed ppcinline/macro.h to work without the alloca...alloca can cause
  70.     a stack overrun. (JohanE)
  71.  
  72. - 46.24
  73.   o fixed 64bit sub/add problems(Keith Barkley)
  74.  
  75. - 46.23
  76.   o libcount problem fixed
  77.   o egcs-2.91.57 compilation
  78.   o switched to a faster cache flush 
  79.   o %?.?s bug fixed when the precision is bigger than the length(Jamie Keir)
  80.  
  81. - 46.22
  82.   o removed the hunk checksum destroy code in the elf
  83.     hunk magic to make it easier to generate resident
  84.     elf programs. WShell used checksums to identify
  85.     resident programs.
  86.     For making programs resident though you have to
  87.     be careful with bss
  88.     For resident elfs be careful with BSS...as it`s
  89.     not cleared each createtask(). clearing would be
  90.     a potential problem for shared elf objects(run
  91.     by more than 1 thread at the same time)
  92.   o Updated KernelModule Calls..now it also handles
  93.     the ECGS program start which doesn`t use the additional
  94.     function description longword before each function.
  95.     It also now cares for the newer IF_CACHE flags and
  96.     if you specify IF_ASYNC in PPCCacheMode the function
  97.     runs async so the result isn`t valid anymore.
  98.     This avoids the 68k side polling for the function
  99.     completing.
  100.  
  101. - 46.21
  102.   o Potential dangerous rom libinit problem fixed
  103.   o ignored PPC scsirom fake configdev entry
  104.   o PPC MMU Frame creation now more elegant
  105.   o fixed another bug in the PPC exception 603e emulation
  106.     which could cause strange sideeffects.
  107.     I don`t think you can count the number of bugs of
  108.     the official 603e book routine with 2 hands anymore.
  109.  
  110. - 46.20
  111.   o now the busclock is calculated instead of taking the eprom preconfig
  112.     which isn`t stable.
  113.   o PPCWaitPortList .fd entry was broken.
  114.   o Missing PowerUPKernel/PPCFreeVec definition fixed
  115.   o Fixed strcpy return value...weird Ansi std. that it has to return
  116.     the entry dest ptr and not the dest ptr after the operation.
  117.     Silly design.
  118.   o optimization in the MMU build function
  119.   o GetLibSymbol() ignores NULL parameters now...oh well
  120.   o REL32 reloc mode added for egcs
  121.   o __moddi3 fix..
  122.   o 8100000f bug fixed(which only happened if the ppc.library detected
  123.     an error condition).
  124.     Big thanks going to piru(Harry Sintonen)
  125.   o Reworked PPC working test...to avoid false detection due too much
  126.     stress...dozens of partitions.
  127.     Big thanks going to piru(Harry Sintonen)
  128.     Well..some days later Piru`s problems were caused by bad ram.
  129.     Anyway..the way it`s handled now is safer.
  130.  
  131. - 46.19
  132.   o 8MB more addressspace for the PPC/MK3 gfxcard
  133.  
  134. - 46.18
  135.   o ".datachip" section support
  136.   o getattr clock problem on the ppc side for 233..sigh
  137.   o ".bsschip" section support
  138.  
  139. - 46.17
  140.   o Internal Changes
  141.  
  142. - 46.16
  143.   o Fixed the Expunge(Heureka)
  144.  
  145. - 46.15
  146.   o Added PPCLib Expunge
  147.   o Release
  148.  
  149. - 46.14
  150.   o Fixed a signal receivemask problem
  151.   o divdi3
  152.  
  153. - 46.13
  154.   o ctrl off symbol check "_ixbaseobj" for the powerup ixemul
  155.   o bstr task name problem fixed
  156.   o PPCLib functions which communicate with the PPC now break
  157.     a pending forbid which would lead to a deadlock situation.
  158.     Stevek`s lib system does a PPCCreateTask in LIBOpen and
  159.     as LIBOpen runs under forbid it caused the Delay() "fix"
  160.     to work around it..
  161.   o cleaned up the examples
  162.  
  163. - 46.12
  164.   o New PowerUPKernel functions(for completeness)
  165.     PPCCreatePortList()
  166.     PPCDeletePortList()
  167.     PPCAddPortList()
  168.     PPCRemPortList()
  169.     PPCWaitPortList()
  170.     PPCGetPortListAttr()
  171.     PPCSetPortListAttr()
  172.   o Reworked PPCCacheTrashE()
  173.  
  174. - 46.11
  175.   o pr_CES is used instead of Output() (Rask)
  176.  
  177. - 46.10
  178.   o New PowerUPKernel functions(for completeness)
  179.     PPCOr64p
  180.     PPCXor64p
  181.     PPCAnd64p
  182.     PPCLsr64p
  183.     PPCAsl64p
  184.     PPCAsr64p
  185.     PPCLsl64p
  186.     PPCDivRem64p
  187.   o Lib version system..new tags:
  188.     PPCELFLOADTAG_LIBVERSION
  189.     PPCELFLOADTAG_LIBREVISION
  190.     PPCELFLOADTAG_LIBEXACTVERSION
  191.     PPCELFLOADTAG_LIBEXACTREVISION
  192.  
  193.  
  194. - 46.9
  195.   o PowerUPKernel PPCSetTaskAttr() and PPCTASKTAG_EXTUSERDATA for libc(ixemul) support.
  196.   o PowerUPKernel PPCUnLoadObject()
  197.   o PowerUPKernel PPCGetObjectAttrs()
  198.   o PowerUPKernel PPCLoadObject()
  199.   o PowerUPKernel PPCLoadObjectTagList()
  200.  
  201. - 46.8
  202.   o maxlevel of 20 for stack history
  203.   o MEMF_NOCACHEPPC
  204.   o MEMF_NOCACHEM68K
  205.  
  206. - 46.7
  207.   o PPCCacheClearE changes
  208.  
  209. - 46.6
  210.   o ppcsetdebugmode LIBS debug mode
  211.   o closelib problem..wrong syscall
  212.  
  213. - 46.5
  214.   o timer proto update..no return value now for Set and Get functions
  215.   o PPCvkprintf()
  216.   o PPCvsprintf()
  217.   o PPCvprintf()
  218.   o PPCfprintf()
  219.   o PPCvfprintf()
  220.   o more exact timer..
  221.   o printf format now passes the whole(besides octal) libc test..puhh..what a pain.
  222.  
  223. - 46.4
  224.   o GCC 64Bit support functions
  225.     __adddi3
  226.     __subdi3
  227.     __negdi2
  228.     __muldi3
  229.     __lmulq
  230.     __umoddi3
  231.     __moddi3
  232.     __udivdi3
  233.     __qdivrem
  234.     __ashrdi3
  235.     __ashldi3
  236.     __lshldi3
  237.     __lshrdi3
  238.     __iordi3
  239.     __anddi3
  240.     __xordi3
  241.     __cmpdi2
  242.     __fixdfdi
  243.     __fixsfdi
  244.     __fixunsdfdi
  245.     __fixunssfdi
  246.     __floatdidf
  247.     __floatdisf
  248.     __floatunsdidf
  249.     __ucmpdi2
  250.     PPCLsl64
  251. //    PPCLsl64p
  252.     PPCLsr64
  253. //    PPCLsr64p
  254.     PPCAsl64
  255. //    PPCAsl64p
  256.     PPCAsr64
  257. //    PPCAsr64p
  258.     PPCOr64
  259. //    PPCOr64p
  260.     PPCXor64
  261. //    PPCXor64p
  262.     PPCAnd64
  263. //    PPCAnd64p
  264.     PPCDivRem64
  265. //    PPCDivRem64p
  266.  
  267.   o fixed diverse Library problems
  268.   o PPCTIMERTAG_START and PPCTIMERTAG_START now also work on 50hz timer objects
  269.  
  270. - 46.3
  271.   o reinserted the 64bit math
  272.   o Timer functionality
  273.     PPCCreateTimerObject()
  274.     PPCDeleteTimerObject()
  275.     PPCSetTimerObject()
  276.     PPCGetTimerObject()
  277.   o PPCOutput();
  278.   o PPCInput();
  279.   o PPCprintf();
  280.     printf %L extension to mark a long long decimal or hex
  281.   o added the NP_StackSize shell/wb stack passing in the elfpatch
  282.   o FPU dispatch optimization activated
  283.   o Stackframe Caller History on an exception
  284.  
  285. - 46.2
  286.   o symbol address fix
  287.   o minor other problems
  288.  
  289. - 46.1
  290.   o Changes in the elf loader to support future changes
  291.   o FPU task switching optimization..(it seems i have too much time to add this)
  292.     Now only fpu registers are saved when the task has used a fpu instruction before.
  293.   o Recompiled the libm,libmfd sources with optimize on..really strange it wasn`t
  294.     activated in the original source.
  295.   o unmask private memory attributes
  296.   o huge kernel build changes(hopefully i don`t break anything)
  297.   o exception during a lock fix
  298.   o PPCkprintf(),PPCsprintf()
  299.   o PPCCreateTask()
  300.   o PowerUP Bus support
  301.   o V44 68060/40 lib is NEEDED
  302.   o MEMF_REVERSE used in some huge static allocations
  303.   o PPCOpenLibrary,PPCCloseLibrary,PPCGetLibSymbol
  304.   o Snoopdos problem fixed(pending Forbid() in the ramlib because of a forgotten forbid()
  305.     in LibMMU.o..this caused to break the hackish:-) Snoopdos ramlib msgport fix which only
  306.     worked when the ramlib task causes a schedule after the ReplyMsg of a openlib request.
  307.  
  308. - 45.23
  309.   o Fix of this fucked up deadlock introduced in 45.20 race condition fix..sigh..
  310.     Weird that it didn`t happen under the race condition test case.
  311.   o Fix of the Open() cache problem..Open didn`t invalid the open string name,
  312.     so a following instruction using the same memory the string name used failed
  313.     in callos for example. VDOOM(Load Menu problem)
  314.  
  315. - 45.22
  316.   o Source cleanup changes..
  317.   o Proto Board Fix(it still breaks under heavy load)
  318.  
  319. - 45.21
  320.   o New PPC Kernel functions:
  321.     PPCReadByte()
  322.     PPCReadWord()
  323.     PPCReadLong()
  324.     PPCWriteByte()
  325.     PPCWriteWord()
  326.     PPCWriteLong()
  327.     PPCCoerceMethodA()
  328.     PPCDoMethodA()
  329.     PPCDoSuperMethodA()
  330.   o PPCTASKTAG_CPUHINT tag
  331.   o Sigh..the 233Mhz clock devider entry was 0...the busclock was detected though.
  332.   o 603 clocks
  333.  
  334. - 45.20
  335.   o PPC Kernel race condition which can lead to a deadlock of the whole
  336.     system in extreme situations
  337.  
  338. - 45.19
  339.   o 233Mhz support
  340.   o EGCS check which doesn`t use the Sys V.4 traceback status word
  341.     in front of every function.
  342.     The check simply checks if the first 6 bits of the first long in
  343.     ".text" section is 0, then it`s not a instruction and must be
  344.     the traceback status word and the program is started at + 0x4.
  345.  
  346. - 45.18
  347.   o Internal changes in the interrupt stack reloc area
  348.   o Priority problem solved...well..the only solution which is
  349.     possible but i don`t like that.(Fixes VDoom -5 problem and
  350.     people which use anything else than 0 for the msgtask)
  351.   o processor clocks should work now...
  352.   o AllocVecPooled,FreeVecPooled entries in the link symbol table were
  353.     equal to the AllocPooled,FreePooled functions.
  354.   o DEC Scheduler
  355.   o 8192 Bytes M68k Msg TaskStack now
  356.   o NP_Priority is passed through now if used..otherwise the current
  357.     task`s priority is cloned.
  358.  
  359. - 45.17
  360.   o PPCCallOS/M68k debug output change
  361.  
  362. - 45.16
  363.   o scheduler reg problem introduced in 45.14
  364.     problem was that several program in parallel didn`t work anymore with 14
  365.   o ELFLoadSeg doesn`t patch the InternalLoadSeg functions anymore because
  366.     this causes problems.
  367.  
  368. - 45.15
  369.   o Fix illegal elf load problem(ElfLoadSeg Patch problem with scripts)
  370.     introduced in 45.13
  371.  
  372. - 45.14
  373.   o a PPCSignal from the M68k now dispatches the task at once.
  374.   o ppcdiss.library only loaded when needed
  375.  
  376. - 45.13
  377.   o ELFLoader enforcer hit on error case
  378.  
  379. - 45.12
  380.   o internal changes for rom version
  381.  
  382. - 45.11
  383.   o PPCELFLOADTAG_FILE extension for ElfSegLoad
  384.  
  385. - 45.10
  386.   o Minor cache area code improvements
  387.  
  388. - 45.9 
  389.   o blizzard ppc changes
  390.   o Fixed some other port problems(ISIS) i introduced with 45.6
  391.     It`s really time i change the way how the kernel is generated
  392.     but that would take some time.
  393.   o PPCGetPortListAttr(,PPCPORTLISTTAG_RECEIVEDSIGNALS) bug
  394.  
  395. - 45.8
  396.   o CACHEFLUSHNO invalids the caos structure now..thought i could
  397.     remove that one because the m68k doesn`t change anything at the
  398.     structure but missed that i need an invalid to remove that
  399.     from the cache...
  400.  
  401. - 45.7
  402.   o small test changes
  403.  
  404. - 45.6
  405.   o reworked the elf loader...added a missing semaphore.
  406.     There was a small window of a list manipulation collison.
  407.   o sigh...fixed a memtrash bug in msg2
  408.   o ElfLoader memory problem when file had an error. Weird
  409.     that this bug wasn`t noticed before.
  410.   o PPCObtainPort enforcer hit fixed..Msg2old example source
  411.  
  412. - 45.5
  413.   o structure bug introduced with 45.4 fixed....caused a lot problems
  414.  
  415. - 45.4
  416.   o CTRL-C,D,E,F handling.
  417.     If you create a synchron PPC Task, the 68k caller task waits
  418.     for the finish of the PPC Task and these break signals.
  419.     If a break signal is received it send the Signal to the
  420.     PPC Task. So checking for ctrl-c should be easy and not that
  421.     time consuming anymore.
  422.     Only activated with tag PPCTASKTAG_BREAKSIGNAL.
  423.     The Break Signal Server is a new Process called "PPC:CTRLHandler"
  424.   o Inbetween BETA release problem with CON: and a signal to the base
  425.     task instead of the msgtask which caused a crash.
  426.     
  427.  
  428. - 45.3
  429.   o IF_CACHEFLUSHNO CallOSM68k Caos update bug fixed(Teemu Suikki)
  430.   o WaitFinishNode list problem which could cause an enforcer hit(Fixed)
  431.  
  432. - 45.2
  433.   o Spurious Interrupt problem solved(Teemu Suikki)
  434.     Dumbug.
  435.  
  436. - 45.1
  437.   o 45.0Beta2`s PPCCallM68k change didn`t compile..argl.
  438.     Definitely not my day.
  439.  
  440. - 45.0
  441.   Release
  442.  
  443. - 45.0Beta2
  444.   o Removed the updating of the PPCCallOS caos.d0-d1 fields again
  445.     BUT the PPCCallM68k caos.#? updating is there!!!!!!!!!!
  446.  
  447. - 45.0Beta1
  448.   o Final Bump
  449.   o Default PPC stacksize 16384 instead of 8192
  450.  
  451. - 44.45Beta
  452.   o Activated custom flush routines again
  453.   o fixed a sync problem in PPCGetmessage() and optimized it.
  454.   o Reworked the msg#?.c examples(which were basicly only my own
  455.     small msg test bench)
  456.   o alias PPCSignalTask() == PPCSignal()...
  457.   o Init Timerbase set to 0 during coldstart
  458.   o IF_ASYNC for asynchron PPCCall#? handling
  459.   o TASKTAG_STACKSIZE understood by PPCGetTaskAttr() on the ppc side
  460.   o ATTENTION:
  461.     Completely reworked the TaskHook system..forget everything described below
  462.   o PPCINFOTAG_CPUPLL
  463.   o PPCGetAttr() on the PPC side
  464.   o Fixed the A4000 ram slowness(dbat mapping overruled mmu mapping)
  465.   o Zeropage of the chipram only readable by the PPC
  466.   o 64Bit Math
  467.     PPCAdd64()
  468.     PPCAdd64p()
  469.     PPCSub64()
  470.     PPCSub64p()
  471.     PPCNeg64()
  472.     PPCNeg64p()
  473.     PPCCmp64()
  474.     PPCCmp64p()
  475.     PPCMulu64()
  476.     PPCMulu64p()
  477.     PPCMuls64()
  478.     PPCMuls64p()
  479.     PPCDivu64()
  480.     PPCDivu64p()
  481.     PPCDivs64()
  482.     PPCDivs64p()
  483.     PPCModu64()
  484.     PPCModu64p()
  485.     PPCMods64()
  486.     PPCMods64p()
  487.  
  488.   o 604e now jumps into an exception for 0x1000-0x1200 exceptions instead of
  489.     running into 603e emulation code. This case should never happen though.
  490.     Just for a clean system.
  491.   o PPCTASKINFOTAG_EXCEPTIONHOOK problem fixed
  492.   o Added a new element to struct ExceptionMsg and bumped the version of this structure
  493.   o Smarter handling of a supervisor PPC crash
  494.   o made the old Angelmode working again(internal)
  495.   o Fixed really really really really weird RawDoFmt crash problem...well..i wouldn`t
  496.     really call that a fix.
  497.   o mark zeropage GUARD to avoid speculative scheduling hits
  498.   o extended the PPCGet/SetTaskAttr() API..the way how to pass values.
  499.   o StopTask problem fixed
  500.   o PPCDeleteTask() problem fixed if an other waitnode was already added.
  501.   o PPCTASKINFOTAG_WAITFINISHTASK
  502.     to find the parent process where you created a sync PPC Task from.
  503.   o callm68k bug introduced with some changes lately
  504.  
  505. - 44.44Beta
  506.   o Fixed a MMU problem which only was visible with a BlizzardPPC basicly.
  507.     Switched off the cache optimized M68k routines for the fair...no time
  508.     to test that again...the .36-.43 fix
  509.  
  510. - 44.43Beta
  511.   o Fixed IsisPPC crash problem introduced after .36
  512.  
  513. - 44.42Beta
  514.   o More BlizzardPPC changes
  515.  
  516. - 44.41Beta
  517.   o More usage of the internal cacheflush functions
  518.   o Slowdown problem(MMU page cleanup had a problem)
  519.  
  520. - 44.40Beta
  521.   o Added BlizzardPPC support
  522.  
  523. - 44.39Beta
  524.   o Changes in the stoneold PPCCallOS m68k routines
  525.  
  526. - 44.38Beta
  527.   o Mungwall hit introduced with 44.37Beta fixed
  528.  
  529. - 44.37Beta
  530.   o smarter memory aligning
  531.   o PPCCacheTrashE() entry in the jumptable was corrupt
  532.  
  533. - 44.36Beta
  534.   o Added
  535.     PPCINFOTAG_ADDCREATETASKHOOK(Forget this..see 44.45Beta)
  536.     PPCINFOTAG_REMCREATETASKHOOK(Forget this..see 44.45Beta)
  537.     PPCINFOTAG_ADDDELETETASKHOOK(Forget this..see 44.45Beta)
  538.     PPCINFOTAG_REMDELETETASKHOOK(Forget this..see 44.45Beta)
  539.     PPCTASKINFOTAG_STOPTASK
  540.     PPCTASKINFOTAG_ELFOBJECT
  541.     PPCTASKINFOTAG_EXCEPTIONHOOK
  542.     for a better debugger support
  543.   o Now PPCCreateProcess uses the tags also in the internal M68k CreateNewproc()
  544.     for the msgtask. So you can pass NP_ tags this way directly to the msg process.
  545.     Makes PPCTASKTAG_INPUTHANDLE, PPCTASKTAG_OUTPUTHANDLE,PPCTASKTAG_INPUTHANDLE
  546.     obsolete.
  547.  
  548. - 44.35Beta
  549.   o instead of NIL: it uses the OS process default handle now.
  550.  
  551. - 44.34Beta
  552.   o Added IF_CACHEINVALIDAREA to the interface.h
  553.   o Fixed the inclue cut&paste error in the CacheInvalidE() function
  554.   o Fixed elf search for section symbol address bug
  555.  
  556. - 44.33Beta
  557.   o Renamed old CacheInvalidE to CacheTrashE and wrote a clean
  558.     CacheInvalidE() which uses cinvl and cinvp depended on address.
  559.     situation.
  560.  
  561. - 44.32Beta
  562.   o Well..some other msg optimizations
  563.   o Fixed the sizeof(Body) bug in the examples/msg#? sources
  564.   o Fixed msg4 example
  565.   o Added msg5 example for async msgs
  566.  
  567. - 44.31Beta
  568.   o New function PPCLoadObjectTags() which can load embedded elfobjects now.
  569.   o Some name changes...sorry..i think it`s better to change it now than never.
  570.     PPCGetInfo() -> PPCGetAttrs()
  571.     PPCGetObjectInfos -> PPCGetObjectAttrs()
  572.     PPCGetTaskInfos -> PPCGetTaskAttrs()
  573.     PPCSetTaskInfos -> PPCSetTaskAttrs()
  574.   o PPCSetAttr()
  575.     PPCINFOTAG_EXCEPTIONHOOK to set a system default ExceptionHook
  576.   o fixed ELF Object resolved error output requester for a not known reloc type.
  577.   o fixed the stack problem(Kleinert`s superview)
  578.   o DeleteTask() now has a BOOL instead of a VOID
  579.     and fixed a serious bug in the remove task handling which lead to enforcer hits
  580.     and very likely a crash
  581.   o if PPCELFLOADTAG_ELFADDRESS is specified it`s a stream..otherwise a file.
  582.     PPCELFLOADTAG_ELFNAME overrules the Name function parameter
  583.   o Name parameter removed
  584.   o PPCELFLOADTAG_HOOK to overload the Elf Stream IO
  585.   o Hook API reworked
  586.   o Some Cache handling changes
  587.   o Added 68040.library detection
  588.   o Some cache msg handling changes
  589.   o PPCSetAttr pragma was wrong
  590.  
  591. - 44.30Beta
  592.   o Used 66Mhz Busclock instead of 50Mhz busclock so that
  593.     people don`t think they have a 150Mhz board(50Mhz*3) instead
  594.     of a 66Mhz (66Mhz*3=200Mhz) board.
  595.   o Optimized PPC Cacheflush
  596.   o Optimized some communications
  597.   o Polished the Autodocs..
  598.  
  599. - 44.29Beta
  600.   o Fixed PPCRunKernelModuleFPU hang problem
  601.   o Initial release
  602.  
  603. - 44.28Beta
  604.   o Fixed 603e startup problem
  605.  
  606. - 44.27Beta
  607.   o Used STARTUP interface in examples/msg2
  608.   o Added romcopy check to avoid havoc if a serious error occurs
  609.   o Fixed ExceptionHandler problem on the 604e..weird it worked on the 603e
  610.   o Fixed a PPCWait() return bug(H&P)
  611.   o Added PPC IRQ to the hardware to fix the deadlock problem with the old
  612.     PowerUP and first cyberstorm PPC under high traffic
  613.   o Created a CauseInt function instead of the old custom intreq function
  614.     which was a cludge anyway...let`s hope i can fix that too for the PowerUP Proto
  615.     board.
  616.   o Fixed PPCTool,PPCShowTasks,PPCReadByte() hang problem
  617.   o Overkill-test bench bug fixed...(bug only in 44.27:-)
  618.   o MMU Page now supervisor only to detect programs which are too curious:-)
  619.     or run amok.
  620.   o Added the following debug tools to ToolsDebug/
  621.     o PPCShowInt
  622.     o PPCShowTrap
  623.     o PPCShowMMU
  624.     o PPCSetMCP
  625.     o PPCSetSMI
  626.  
  627. - 44.26Beta
  628.   o Fixed bss alignment problem
  629.  
  630. - 44.25Beta
  631.   o Added names to the interrupt nodes
  632.  
  633. - 44.24Beta
  634.   o PPCTASKTAG_MSGPORT didn`t free the signal it used...fixed
  635.   o PPCDeleteTask reworked
  636.   o Fixed a Pool Management bug
  637.  
  638. - 44.23Beta
  639.   o Fixed PPCGetTaskAttr(different proto)
  640.   o Fixed PPCTask PPCPort creation
  641.   o Fixed Examples/Startup.c
  642.  
  643. - 44.22Beta(intermediate release)
  644.   o CyberstormPPC support
  645.   o CPUInfo now handles 604 clocks
  646.   o Fixed the CACHEFLUSHAREA problem in the CallOS calls
  647.   o Added some Cacheflush optimizing on the M68k side
  648.   o ElfLoader error check improved..otherwise it would create an ElfObject with no .text section.
  649.   o Improved Msg speed..removed an unnecessary cacheflush
  650.   o CacheInvalid now also deals with non page aligned addresses
  651.   o M68k Side functions added
  652.     o PPCCreateWaitPortList()
  653.     o PPCDeleteWaitPortList()
  654.     o PPCAddWaitPortList()
  655.     o PPCRemWaitPortList()
  656.     o PPCWaitPortList()
  657.     o PPCGetPortListAttr()
  658.     o PPCSetPortListAttr()
  659.     (!!!!!Not tested!!!!!)
  660.   o PPC->M68k switch time improvement hopefully
  661.     (fooled the scheduler to start the m68k task at once after a PPC interrupt)
  662.   o fixed low memory problems in the init
  663.   o fixed a serialized problem in the init
  664.  
  665.   o Fixed the PortList includes/autodocs
  666.   o New PPCCreateTask attributes
  667.     o PPCTASKTAG_STARTUP_MSG
  668.     o PPCTASKTAG_STARTUP_MSGDATA
  669.     o PPCTASKTAG_STARTUP_MSGLENGTH
  670.     o PPCTASKTAG_STARTUP_MSGID
  671.     which implements a new startup ppc msg which can be used to abitrate for the PPCTask exit
  672.     as it is replied after the PPCTask was closed.
  673.   o New PPC function
  674.     o PPCGetTaskAttr() which supports
  675.       o PPCTASKTAG_STARTUP_MSG
  676.       o PPCTASKTAG_STARTUP_MSGDATA
  677.       o PPCTASKTAG_STARTUP_MSGLENGTH
  678.       o PPCTASKTAG_STARTUP_MSGID
  679.   o Changed Int signal mask
  680.   o Final CyberPPC603e,604e support(Gerald`s playground release)
  681.  
  682.  
  683. - 44.21Beta
  684.   o Pri Constructor support
  685.     A priviledge constructor/deconstructor can be used to force a certain
  686.     sort on the constructor list. For a constructor it means that the one
  687.     with the highest priority come first. For deconstructor it means that
  688.     the one with the highest priority comes at the end of the .dtor section
  689.     which is ran *backwards* so it`s also called as the first.
  690.     Normal constructor/deconstructors are called after pri de/constructors.
  691.     A pri de/constructor is defined by long Pri,long Function where Pri
  692.     can be -4096..4095
  693.     See constructor.h
  694.   o BSS hunk load problem fixed.
  695.  
  696.  
  697.  
  698. - 44.20Beta
  699.   o Finally..this version runs stable again(Party on)
  700.   o PPCCreateMessage also initializes not used msg fields now.
  701.   o Removed some TypeOfMem->trap debugger stops...
  702.  
  703. - 44.19Beta
  704.   o Internal Scheduler changes to make the Semaphores working.
  705.   o Fixed a long standing problem
  706.   o Shrinked the size of the PPC Kernel
  707.   o Removed the DBAT mapping for the Cyberstorm local ram which
  708.     caused a conflict with the flexible mmu mapping system.
  709.   o Reworked 603e mmu example code
  710.   o Changed the whole exception create/delete intframe system
  711.     to get it working with exceptions in supervisor(MMU).
  712.   o Fixed Semaphores
  713.   o Fixed Semaphore Example(Wasted searching a bug in my code)
  714.   o A lot internal changes and
  715.     for (;;)
  716.     {
  717.       printf("Debug is my second name\nNext-Terminal + tip ttyb38400 rules\n");
  718.     }
  719.  
  720.   o Semaphore functions
  721.     o PPCReleaseSemaphore()
  722.     o PPCObtainSemaphore()
  723.     o PPCAttemptSemaphore()
  724.     o PPCAttemptSemaphoreShared()
  725.     o PPCObtainSemaphoreShared()
  726.     o PPCCreateSemaphore()
  727.     o PPCDeleteSemaphore()
  728.     o PPCObtainSemaphoreByName()
  729.     o PPCObtainSemaphoreSharedByName()
  730.     o PPCAttemptSemaphoreByName()
  731.     o PPCAttemptSemaphoreSharedByName()
  732.  
  733.   o fd2inlinePPCLib output CallOS changed to PPCCallOS
  734.  
  735.  
  736. - 44.18Beta
  737.   o Fixed another problem with the PPCDebug and the internal symbolbase
  738.   o Fixed CallOS/CallM68k problem
  739.  
  740. - 44.17Beta
  741.   o Fixed something in symbol reloc find(PPCDebug output problem)
  742.   o Added more internal Semaphore Function Symbols to the symbolbase
  743.   o Fixed the last reason PPCDeletePort could ran amok
  744.  
  745. - 44.16Beta
  746.   o Forgot to init a nestcount which caused the PPCDeletePort()
  747.     problem.(Andree)
  748.   o UsedStack finally fixed(Sends a Prayer...:-))
  749.  
  750. - 44.15Beta
  751.   o PPCGetMessage() to PowerUPKernel autodocs added
  752.   o PPCVersion() added
  753.   o PPCRevision() added
  754.   o Fixed 44.14Beta release from last night
  755.  
  756. - 44.14Beta
  757.   o IrseeSoft reminded me that i haven`t made any use of the Cachemodes
  758.     yet in the Caos structure so i added that. Should improve certain
  759.     switch times if the cache configs are used carefully.
  760.   o Made PPCNextTagItem(),PPCFindTagItem(),PPCGetTagData() available
  761.   o Internal SystemPool for coming Semaphore support
  762.   o From now on ALL OLD PPC program don`t work anymore. SystemCall IDs
  763.     aren`t valid anymore. See 44.9Beta
  764.   o Added MsgID parameter to PPCSendMessage to understand what this msg is about.
  765.   o Added PPCMSGTAG_MSGID,PPCMSGTAG_MSGTYPE attribute to ppclib/message.h
  766.  
  767. - 44.13Beta
  768.   o Added BOOL for PPCDeletePort()
  769.  
  770. - 44.12Beta
  771.   o Fixed missing PA_SIGNAL in the msgport initializing
  772.  
  773. - 44.11Beta
  774.   o Oops..sorry..the DebugRequester didn`t work correctly
  775.  
  776. - 44.10Beta
  777.   o Changed bumprev copyright msg
  778.   o New PPC functions
  779.     o PPCFindName
  780.     o PPCInsertSync
  781.     o PPCAddHeadSync
  782.     o PPCAddTailSync
  783.     o PPCRemoveSync
  784.     o PPCRemHeadSync
  785.     o PPCRemTailSync
  786.     o PPCFindNameSync
  787.  
  788. - 44.9Beta
  789.   o Fixed PPCGetTaskInfo PPCTASKINFOTAG_PRIORTTY bug
  790.   o Added PPCReadWord();
  791.   o Added PPCWriteWord();
  792.   o Added PPCReadByte();
  793.   o Added PPCWriteByte();
  794.   o Fixed PPCGetTaskInfo PPCTASKINFOTAG_USEDSTACKSIZE bug
  795.   o MsgOut task now at Pri 10..this is the PPCScheduler signal task.
  796.   o MsgIn task set at the priority of the task which creates the PPC task.
  797.     Beware..if you`re current task runs too fast you`re responsible for the
  798.     sideeffects that may happen when your PPC side calls m68k routines.
  799.     You shouldn`t also change the taskpri of your currenttask in an asynchronus
  800.     CreatePPC situation.
  801.   o Changed some IO addressing
  802.   o Added dynamic binding of the following functions.
  803.     New PPC functions(Renamed some old functions..source change necessary):
  804.     o PPCAllocMem
  805.     o PPCFreeMem
  806.     o PPCCallOS
  807.     o PPCCallM68k
  808.     o PPCOpen
  809.     o PPCClose
  810.     o PPCRead
  811.     o PPCWrite
  812.     o PPCSeek
  813.     o PPCAllocVec
  814.     o PPCFreeVec
  815.     o PPCFinishTask
  816.     o PPCSignal
  817.     o PPCWait
  818.     o PPCFindTask
  819.     o PPCAllocSignal
  820.     o PPCFreeSignal
  821.     o PPCCacheFlush
  822.     o PPCCacheFlushAll
  823.     o PPCCacheInvalid
  824.     o PPCSetSignal
  825.     o PPCRawDoFmt
  826.     o PPCCreatePool
  827.     o PPCDeletePool
  828.     o PPCAllocPooled
  829.     o PPCFreePooled
  830.     o PPCAllocVecPooled
  831.     o PPCFreeVecPooled
  832.     o PPCCreatePort
  833.     o PPCDeletePort
  834.     o PPCObtainPort
  835.     o PPCReleasePort
  836.     o PPCCreateMessage
  837.     o PPCDeleteMessage
  838.     o PPCGetMessage
  839.     o PPCGetMessageAttr
  840.     o PPCReplyMessage
  841.     o PPCSendMessage
  842.     o PPCWaitPort
  843.     o strcmp
  844.     o strcpy
  845.     o strlen
  846.     o memcpy
  847.     o PPCInsert
  848.     o PPCAddHead
  849.     o PPCAddTail
  850.     o PPCRemove
  851.     o PPCRemHead
  852.     o PPCRemTail
  853.  
  854.     -> LibPowerUP.a is worthless from now on. DON'T use it anymore!
  855.        This means you have to recompile your software and add the
  856.        prefix where it is missing.
  857.        The reason for this general change is that we want the complete
  858.        control over the system call ABI for a possible portation to
  859.        another OS.
  860.        This avoids any serious conflicts in the future.
  861.   o PPC<->M68k OS level communication isn`t using extensive busy waits anymore on
  862.     the PPC side which would slow down tasks.
  863.   o New M68k ppc.library functions:
  864.     o PPCCreatePool();
  865.     o PPCDeletePool();
  866.     o PPCAllocPooled();
  867.     o PPCFreePooled();
  868.     o PPCFreeVecPooled();
  869.     o PPCAllocVecPooled();
  870.     o PPCCreatePort
  871.     o PPCDeletePort
  872.     o PPCObtainPort
  873.     o PPCReleasePort
  874.     o PPCCreateMessage
  875.     o PPCDeleteMessage
  876.     o PPCGetMessage
  877.     o PPCGetMessageAttr
  878.     o PPCReplyMessage
  879.     o PPCSendMessage
  880.     o PPCWaitPort
  881.     o PPCCacheClearE()
  882.     o PPCCacheInvalidE()
  883.  
  884.   o Error Requestor for missing symbols
  885.   o Added kernel function support for the symbol/reloc info functions.
  886.   o A lot internal changes
  887.  
  888. - 44.8Beta
  889.   o Fixed a Bug in LibPowerup.a(AllocPooled) in a lowmem situation
  890.   o Added SetSignal to PowerUP.doc/protos, removed PPCAmiga.doc(old style)
  891.   o PPCSetTaskInfo()
  892.   o PPCGetObjectInfo() to get ELF Symbol informations.
  893.     Useful for special startups or expecially Debugger informations.
  894.     (PPCDebug makes use of this already)
  895.   o Fixed ElfLoader problem with 0 size objects...objects where the .size was
  896.     forgotten. (LibMoto Beta)
  897.   o Several changes in the Elfloader Symbol handling
  898.   o Added PPCGetObjectInfo() ScanSymbolHook Tag so you could dump all symbols
  899.   o Added PPCWriteLongFlush() to support PPCDebug breakpoints
  900.  
  901. - 44.7Beta
  902.   o Forgot 2 kprintfs in the lib from last night
  903.  
  904. - 44.6Beta
  905.   o gpr30 wasn't updated in an exception
  906.   o gpr29 was trashed by a system call(Oops)
  907.     (Heh..actually PPCDebug can be useful:-)
  908.  
  909. - 44.5Beta
  910.   o Tools/PPCDebug..a small example how to write a debugger for the ppc.library
  911.   o several changes to 44.4Beta to get the debug support working
  912.   o Fixed the Examples/#?..wasn`t uptodate to work with the latest include layout
  913.   o 38400 Baud Debug output removed again and put into an external program to
  914.     support people that use 300 Baud Psion Terminals
  915.  
  916. - 44.4Beta(inbetween release)
  917.   o PPCReadLong()
  918.   o PPCWriteLong()
  919.   o made PPCGetTaskInfo cache safe...was a bit lazy there
  920.   o internal scheduler extension
  921.   o Task dependent Exception Handling for a Debugger
  922.   o Tools/PPCLoadTimer to measure the time needed by the
  923.     PPCRunObject() call.
  924.   o Fixed several register restore problems
  925.   o Tools/PPCShowTasks extended..shows registers too now.
  926.     Values should be reliable now because of the PPCGetTaskInfo()
  927.     changes.
  928.   o PPCStartTask();
  929.   o PPCStopTask();
  930.   o cleaned up PowerUP/clib/ppc_protos.h and removed some internal
  931.     non public defined structs.
  932.   o Register Trashing Bug fixed in the FinishTask routine caused by
  933.     the cache fix in 44.2Beta
  934.  
  935. - 44.3Beta
  936.   o PPCTASKTAG_WAITFINISH for synchron PPCCreateTask()=PPCRunObject()
  937.     made public.
  938.   o Fixed FinishTask problem with PPCCreateTask()(Kleinert)
  939.     stupid mistake
  940.  
  941. - 44.2Beta
  942.   o Fixed another hang problem(Chris Hames)
  943.   o Fixed Cache sideeffects in ExitTask and Remtask(Not tested though:-))
  944.  
  945. - 44.1Beta
  946.   o Fixed libpowerup autodocs
  947.   o Added function PPCSetSignal so a Checksignal doesn`t need some PPCWait() magic
  948.   o Internal changes in the systemcall area
  949.   o improved Exception output
  950.   o Activated Page MMU mapping of the AmigaOS system...like the 68060 MMU mapping.
  951.   o GCCTools/ppc-amigaos-ld2 is a new PPC linker which outputs errors for
  952.     undefined symbols.
  953.  
  954. - 44.0Beta7
  955.   o internal
  956.  
  957. - 44.0Beta6
  958.   o Fixed FindTask,FindTaskObject crash problems
  959.   o Fixed FinishTask problem
  960.   o Removed 38400 Baud serial init
  961.  
  962. - 44.0Beta5
  963.   o Added Zorro3 Mapping,Removed Optimized CacheFlushing Mapping(Not used anyway yet)
  964.  
  965. - 44.0Beta4
  966.   o Fixed RunKernalModule()
  967.   o Added RunKernalModuleFPU()
  968.   o changed interfaces.h,interfaces.i
  969.   o Improved Exception Output
  970.     (Now shows offsets to the .text section which can be used with the dump of
  971.      the ELF bin)
  972.   o Fixed a bug in the ELF Loader(Enforcer hits) when it found a reloc section
  973.     for a not loaded section
  974.   o Changed link obj to a link lib...changed the names
  975.   o added new LibAmiga.a(with Source and not complete)
  976.  
  977. - 44.0Beta3
  978.   o Changed interface.h and interface.i to support configurable CacheFlush.
  979.     So you have to recompile your software
  980.   o Added new PPCTASKTAGINFO_ tags
  981.     Rethink the input/output problems
  982.   o PPCFindTaskObject() added
  983.   o PPCFindTask() runtask bug fixed
  984.  
  985. - 44.0Beta2
  986.   o Added the multitasking support for PPC-M68k-OS calls
  987.   o Fixed PPCAllocSignal
  988.   o Added PPCTASKTAG_INPUTHANDLE
  989.   o Added PPCTASKTAG_OUTPUTHANDLE
  990.   o Added PPCTASKTAG_ERRORHANDLE
  991.   o Added the memfree of the task enviroment
  992.   o Each PPC Task has a MsgIn Task now
  993.   o Schedule Handler Task
  994.   o Exception Handler Task
  995.   o Scheduler disabled if no PPC Task running(no slowdown of the system)
  996.  
  997. - 44.0Beta1
  998.   o Added MultiTasking to the PPC kernel
  999.   o ULONG RunKernelModule()
  1000.     for custom interrupt servers...a cybergfx blitengine may be one
  1001.  
  1002. - 43.x
  1003.   old,outdated,quick hacks,not worthy
  1004.